package edu.hubu.DateSort;

import java.util.*;

public class DateComparatorSort {
    public static void main(String[] args) {
        //TODO:1.创建list集合，用于存储日期对象
        Set<Date> dates = new TreeSet<Date>(new Comparator<Date>() {

            @Override
            public int compare(Date o1, Date o2) {
                //从小到大进行排序：主要条件-年；次要条件-月；最次条件-日
//        return 0;
                int num1 = o1.getYear() - o2.getYear();
                int num2 = num1 == 0 ? o1.getMonth() - o2.getMonth() : num1;
                int num3 = num2 == 0 ? o1.getDay() - o2.getDay() : num2;
                return num3;
            }
        });

        //TODO:2.创建集合元素日期对象
        Date data1 = new Date(2001, 1, 1);
        Date data2 = new Date(1999, 6, 12);
        Date data3 = new Date(2000, 11, 11);
        Date data4 = new Date(2001, 5, 23);
        Date data5 = new Date(1998, 12, 13);
        Date data6 = new Date(2002, 9, 5);
        Date data7 = new Date(2001, 4, 30);
        Date data8 = new Date(2000, 11, 21);
        Date data9 = new Date(2001, 5, 12);

        //TODO:3.并将其添加到集合中
        dates.add(data1);
        dates.add(data2);
        dates.add(data3);
        dates.add(data4);
        dates.add(data5);
        dates.add(data6);
        dates.add(data7);
        dates.add(data8);
        dates.add(data9);

        //TODO:4.对list集合进行排序，此处采用冒泡排序
        //已采用比较器对象排序

        //TODO:5.对list集合进行打印输出
        for (Date date : dates) {
            System.out.println(date);
        }
    }
}
